package kr.ac.konkuk.db.quadtree;

import java.util.List;
import java.util.Set;

import kr.ac.konkuk.db.quadtree.callback.SearchOperator;
import kr.ac.konkuk.db.quadtree.node.NodeVisitor;

import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;

public interface QuadTree<T> {
	public static final int COUNT_FOR_SPLIT = 10;
	
	public Set<String> insert(RowKey rowKey, T item);
	public Set<String> insert(List<Byte> rowKey, T item);
	public Set<String> search(Envelope searchEnv, SearchOperator operator);
	public Set<String> search(Geometry searchEnv, SearchOperator operator);
	public boolean remove(RowKey rowKey);
	public boolean remove(List<Byte> rowKey);
}
